package com.atguigu.java2;

import org.junit.Test;

/**
 *      关于包装类使用的面试题
 *
 *
 * @author : leimingchao
 * @date Date : 2021年08月28日 1:11
 */
public class InterviewTest {

    @Test
    public void test1() {
        Object o1 = true ? new Integer(1) : new Double(2.0);
        //1.0
        System.out.println(o1);
    }

    @Test
    public void test2() {
        Object o2;
        if (true)
            o2 = new Integer(1);
        else
            o2 = new Double(2.0);
        //1
        System.out.println(o2);
    }

    @Test
    public void test3() {
        Integer i = new Integer(1);
        Integer j = new Integer(1);
        //false
        System.out.println(i == j);
        //Integer内部定义了IntegerCache结构，IntegerCache定义了Integer[],保存了从-128~127之间的整数
        //如果我们使用自动装箱的方式，给Integer赋值的范围在-128~127范围内时，可以直接使用数组中的元素，
        //不用再去new了。目的：提高效率
        Integer m = 1;
        Integer n = 1;
        //true
        System.out.println(m == n);
        //相当于new了一个Integer对象
        Integer x = 128;
        //相当于new了一个Integer对象
        Integer y = 128;
        //false
        System.out.println(x == y);
    }
}
